<!--
*Author：DGZ
 **  contact:service@dagongzao.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/sys/system/Sys_Log.jsx此处编写
 -->
<template>
  <view-grid ref="grid" :columns="columns" :detail="detail" :details="details" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
<script>
import extend from '@/extension/sys/system/Sys_Log.jsx'
import { ref, defineComponent } from 'vue'
export default defineComponent({
  setup() {
    const table = ref({
      key: 'LogId',
      footer: 'Foots',
      cnName: '系统日志',
      name: 'system/Sys_Log',
      newTabEdit: false,
      url: '/Sys_Log/',
      sortName: 'LogId',
    })
    const editFormFields = ref({})
    const editFormOptions = ref([])
    const searchFormFields = ref({
      BeginDate: '',
      Url: '',
      LogType: [],
      Success: [],
      UserIP: '',
      ServiceIP: '',
      RoleId: '',
    })
    const searchFormOptions = ref([
      [
        { title: '请求地址', field: 'Url', type: 'text'},
        { title: '用户IP', field: 'UserIP', type: 'text' },
        { title: '服务器IP', field: 'ServiceIP', type: 'text' },
      ],
      [
        { title: '开始时间', field: 'BeginDate', type: 'datetime' },
        { dataKey: 'restatus', data: [], title: '响应状态', field: 'Success', type: 'selectList' },
        { dataKey: 'roles', data: [], title: '角色ID', field: 'RoleId', type: 'select' },
      ],
      [{ dataKey: 'log', data: [], title: '日志类型', field: 'LogType', colSize: 12, type: 'checkbox' }],
    ])
    const columns = ref([
      {
        field: 'LogId',
        title: 'LogId',
        type: 'int',
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: 'left',
      },
      { field: 'BeginDate', title: '开始时间', type: 'datetime', width: 140, align: 'left' },
      { field: 'UserName', title: '用户名称', type: 'string', width: 90, align: 'left' },
      { field: 'Url', title: '请求地址', type: 'string', width: 110, align: 'left' },
      { field: 'LogType', title: '日志类型', type: 'string', bind: { key: 'log', data: [] }, width: 80, align: 'left' },
      {
        field: 'Success',
        title: '响应状态',
        type: 'int',
        bind: { key: 'restatus', data: [] },
        width: 80,
        align: 'left',
      },
      { field: 'ElapsedTime', title: '时长', type: 'int', width: 60, align: 'left' },
      { field: 'RequestParameter', title: '请求参数', type: 'string', width: 70, align: 'left' },
      { field: 'ResponseParameter', title: '响应参数', type: 'string', width: 70, align: 'left' },
      { field: 'ExceptionInfo', title: '异常信息', type: 'string', width: 70, align: 'left' },
      { field: 'UserIP', title: '用户IP', type: 'string', width: 90, align: 'left' },
      { field: 'ServiceIP', title: '服务器IP', type: 'string', width: 90, hidden: true, align: 'left' },
      { field: 'BrowserType', title: '浏览器类型', type: 'string', width: 90, align: 'left' },
      { field: 'UserId', title: '用户ID', type: 'int', width: 90, hidden: true, align: 'left' },
      {
        field: 'RoleId',
        title: '角色ID',
        type: 'int',
        bind: { key: 'roles', data: [] },
        width: 90,
        hidden: true,
        align: 'left',
      },
      { field: 'EndDate', title: '结束时间', type: 'datetime', width: 150, hidden: true, align: 'left' },
      { field: 'Remarks', title: '备注', type: 'string', width: 120, align: 'left' },
      { field: 'IsValid', title: '逻辑删除', type: 'int', width: 120, hidden: true, require: true, align: 'left' },
    ])
    const detail = ref({ columns: [] })
    const details = ref([])
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
      details,
    }
  },
})
</script>
